Homework 5

library(nycflights13)
library(tidyverse)
library(ggplot2)
flights
filter(flights, month == 1, day == 1)
jan1 <- filter(flights, month == 1, day == 1)
(dec25 <- filter(flights, month == 12, day == 25))
df <- tibble(x = c(1, NA, 3))
filter(df, x > 1)
filter(df, is.na(x) | x > 1)

Exercise 5.2.4

question 1
#arrival delay 2 or more hours
filter(flights, arr_delay >= 120)
#flew to Houston (IAH or HOU)
filter(flights, dest == "IAH" | dest == "HOU")
#Were operated by United, American, or Delta
filter(flights, carrier == "UA" | carrier == "AA" | carrier == "DL")
#Departed in summer (July, August, and September)
filter(flights, month == 7 | month == 8 | month == 9)
#Arrived more than two hours late, but didn’t leave late
filter(flights, arr_delay > 120 & dep_delay == 0)
#Were delayed by at least an hour, but made up over 30 minutes in flight
filter(flights, dep_delay >= 60 & arr_delay <= 30) 
#Departed between midnight and 6am (inclusive)
filter(flights, dep_time >= 0 & dep_time <= 600)
question 2
?between()
filter(flights, between(flights$dep_time, 0, 600))

Between takes values inclusive of two boundary values. ie x >= left & x <= right, yes you can use it to simplify part 7 of question 1.

question 3
filter(flights, is.na(dep_time))

8,255 flights have NA dep_time.

question 4

NA….

Exercise 5.3.1

question 2
arrange(flights, desc(is.na(flights$dep_time)))
question 2
# most delayed flights
arrange(flights, desc(dep_delay))
# ealiest leaving
arrange(flights, dep_time)
question 3
# fastest flights
arrange(flights, air_time)
question 4
# farthest distance
arrange(flights, distance)
#shortest
arrange(flights, desc(distance))

Exercise 5.4.1

question 1
# how many ways to select columns dep_time, dep_delay, arr_time, arr_delay
select(flights, dep_time, dep_delay, arr_time, arr_delay)
select(flights, dep_time:arr_delay )
# select(flights, -everything not those)
select(flights, contains("arr"), contains("dep"))
questions 2
select(flights, arr_delay, arr_delay)

only comes up once!

question 3
# what does one_of do
?one_of
vars <- c("year", "month", "day", "dep_delay", "arr_delay")
select(flights, one_of(vars) )

Allows you to find variables that are contained in a character vector and apply it to select

question 4
select(flights, contains("TIME"))
?select
select(flights, ignore.case = FALSE, contains("TIME"))
Error: All select() inputs must resolve to integer column positions.
The following do not:
*  FALSE

does not worry about case, but this can be changes by, ignore.case = FALSE

Exercise 5.5.2

question 1
question 2

In air is much larger than the actual air time, this might be because dep time and arr time are not in units of minutes, but air_time is. You would have to change the units of the arr time and dep time to minutes

question 3

The dep delay should equal the difference of dep time and scheduled dep time.

question 4

Puts every tie to the lowest rank

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6IAogICAga2VlcF9tZDogeWVzCiAgaHRtbF9ub3RlYm9vazogZGVmYXVsdAotLS0KCgojIyMgSG9tZXdvcmsgNQoKYGBge3J9CmxpYnJhcnkobnljZmxpZ2h0czEzKQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShnZ3Bsb3QyKQpgYGAKCgpgYGB7cn0KZmxpZ2h0cwpgYGAKCgoKYGBge3J9CmZpbHRlcihmbGlnaHRzLCBtb250aCA9PSAxLCBkYXkgPT0gMSkKCmBgYAoKCgpgYGB7cn0KamFuMSA8LSBmaWx0ZXIoZmxpZ2h0cywgbW9udGggPT0gMSwgZGF5ID09IDEpCgooZGVjMjUgPC0gZmlsdGVyKGZsaWdodHMsIG1vbnRoID09IDEyLCBkYXkgPT0gMjUpKQpgYGAKCgoKYGBge3J9CmRmIDwtIHRpYmJsZSh4ID0gYygxLCBOQSwgMykpCmZpbHRlcihkZiwgeCA+IDEpCmZpbHRlcihkZiwgaXMubmEoeCkgfCB4ID4gMSkKYGBgCgoKIyMjIyBFeGVyY2lzZSA1LjIuNAoKIyMjIyMgcXVlc3Rpb24gMSAKYGBge3J9CiNhcnJpdmFsIGRlbGF5IDIgb3IgbW9yZSBob3VycwpmaWx0ZXIoZmxpZ2h0cywgYXJyX2RlbGF5ID49IDEyMCkKCiNmbGV3IHRvIEhvdXN0b24gKElBSCBvciBIT1UpCmZpbHRlcihmbGlnaHRzLCBkZXN0ID09ICJJQUgiIHwgZGVzdCA9PSAiSE9VIikKCiNXZXJlIG9wZXJhdGVkIGJ5IFVuaXRlZCwgQW1lcmljYW4sIG9yIERlbHRhCmZpbHRlcihmbGlnaHRzLCBjYXJyaWVyID09ICJVQSIgfCBjYXJyaWVyID09ICJBQSIgfCBjYXJyaWVyID09ICJETCIpCgojRGVwYXJ0ZWQgaW4gc3VtbWVyIChKdWx5LCBBdWd1c3QsIGFuZCBTZXB0ZW1iZXIpCmZpbHRlcihmbGlnaHRzLCBtb250aCA9PSA3IHwgbW9udGggPT0gOCB8IG1vbnRoID09IDkpCgojQXJyaXZlZCBtb3JlIHRoYW4gdHdvIGhvdXJzIGxhdGUsIGJ1dCBkaWRu4oCZdCBsZWF2ZSBsYXRlCmZpbHRlcihmbGlnaHRzLCBhcnJfZGVsYXkgPiAxMjAgJiBkZXBfZGVsYXkgPT0gMCkKCiNXZXJlIGRlbGF5ZWQgYnkgYXQgbGVhc3QgYW4gaG91ciwgYnV0IG1hZGUgdXAgb3ZlciAzMCBtaW51dGVzIGluIGZsaWdodApmaWx0ZXIoZmxpZ2h0cywgZGVwX2RlbGF5ID49IDYwICYgYXJyX2RlbGF5IDw9IDMwKSAKCiNEZXBhcnRlZCBiZXR3ZWVuIG1pZG5pZ2h0IGFuZCA2YW0gKGluY2x1c2l2ZSkKZmlsdGVyKGZsaWdodHMsIGRlcF90aW1lID49IDAgJiBkZXBfdGltZSA8PSA2MDApCmBgYAoKCiMjIyMjIHF1ZXN0aW9uIDIKCmBgYHtyfQo/YmV0d2VlbigpCgpmaWx0ZXIoZmxpZ2h0cywgYmV0d2VlbihmbGlnaHRzJGRlcF90aW1lLCAwLCA2MDApKQpgYGAKCkJldHdlZW4gdGFrZXMgdmFsdWVzIGluY2x1c2l2ZSBvZiB0d28gYm91bmRhcnkgdmFsdWVzLiBpZSB4ID49IGxlZnQgJiB4IDw9IHJpZ2h0LCB5ZXMgeW91IGNhbiB1c2UgaXQgdG8gc2ltcGxpZnkgcGFydCA3IG9mIHF1ZXN0aW9uIDEuCgoKIyMjIyMgcXVlc3Rpb24gMwoKCmBgYHtyfQpmaWx0ZXIoZmxpZ2h0cywgaXMubmEoZGVwX3RpbWUpKQpgYGAKCjgsMjU1IGZsaWdodHMgaGF2ZSBOQSBkZXBfdGltZS4KCiMjIyMjIHF1ZXN0aW9uIDQKCk5BLi4uLgoKCiMjIyBFeGVyY2lzZSA1LjMuMQoKIyMjIyMgcXVlc3Rpb24gMgoKYGBge3J9CmFycmFuZ2UoZmxpZ2h0cywgZGVzYyhpcy5uYShmbGlnaHRzJGRlcF90aW1lKSkpCmBgYAoKCiMjIyMjIHF1ZXN0aW9uIDIKCmBgYHtyfQojIG1vc3QgZGVsYXllZCBmbGlnaHRzCmFycmFuZ2UoZmxpZ2h0cywgZGVzYyhkZXBfZGVsYXkpKQojIGVhbGllc3QgbGVhdmluZwphcnJhbmdlKGZsaWdodHMsIGRlcF90aW1lKQoKCmBgYAoKCiMjIyMjIHF1ZXN0aW9uIDMKCmBgYHtyfQojIGZhc3Rlc3QgZmxpZ2h0cwoKYXJyYW5nZShmbGlnaHRzLCBhaXJfdGltZSkKYGBgCgojIyMjIyBxdWVzdGlvbiA0CgpgYGB7cn0KIyBmYXJ0aGVzdCBkaXN0YW5jZQphcnJhbmdlKGZsaWdodHMsIGRpc3RhbmNlKQoKI3Nob3J0ZXN0CmFycmFuZ2UoZmxpZ2h0cywgZGVzYyhkaXN0YW5jZSkpCgpgYGAKCgojIyMgRXhlcmNpc2UgNS40LjEKCgojIyMjIyBxdWVzdGlvbiAxCgpgYGB7cn0KIyBob3cgbWFueSB3YXlzIHRvIHNlbGVjdCBjb2x1bW5zIGRlcF90aW1lLCBkZXBfZGVsYXksIGFycl90aW1lLCBhcnJfZGVsYXkKCnNlbGVjdChmbGlnaHRzLCBkZXBfdGltZSwgZGVwX2RlbGF5LCBhcnJfdGltZSwgYXJyX2RlbGF5KQoKc2VsZWN0KGZsaWdodHMsIGRlcF90aW1lOmFycl9kZWxheSApCgojIHNlbGVjdChmbGlnaHRzLCAtZXZlcnl0aGluZyBub3QgdGhvc2UpCgpzZWxlY3QoZmxpZ2h0cywgY29udGFpbnMoImFyciIpLCBjb250YWlucygiZGVwIikpCmBgYAoKCiMjIyMjIHF1ZXN0aW9ucyAyCgpgYGB7cn0Kc2VsZWN0KGZsaWdodHMsIGFycl9kZWxheSwgYXJyX2RlbGF5KQpgYGAKCm9ubHkgY29tZXMgdXAgb25jZSEKCgojIyMjIyBxdWVzdGlvbiAzCgpgYGB7cn0KIyB3aGF0IGRvZXMgb25lX29mIGRvCgo/b25lX29mCgp2YXJzIDwtIGMoInllYXIiLCAibW9udGgiLCAiZGF5IiwgImRlcF9kZWxheSIsICJhcnJfZGVsYXkiKQpzZWxlY3QoZmxpZ2h0cywgb25lX29mKHZhcnMpICkKYGBgCgoKQWxsb3dzIHlvdSB0byBmaW5kIHZhcmlhYmxlcyB0aGF0IGFyZSBjb250YWluZWQgaW4gYSBjaGFyYWN0ZXIgdmVjdG9yIGFuZCBhcHBseSBpdCB0byBzZWxlY3QKCgojIyMjIyBxdWVzdGlvbiA0CgpgYGB7cn0Kc2VsZWN0KGZsaWdodHMsIGNvbnRhaW5zKCJUSU1FIikpCgo/c2VsZWN0Cgojc2VsZWN0KGZsaWdodHMsIGlnbm9yZS5jYXNlID0gRkFMU0UsIGNvbnRhaW5zKCJUSU1FIikpCmBgYAoKCmRvZXMgbm90IHdvcnJ5IGFib3V0IGNhc2UsIGJ1dCB0aGlzIGNhbiBiZSBjaGFuZ2VzIGJ5LCBpZ25vcmUuY2FzZSA9IEZBTFNFCgoKCgoKIyMjIEV4ZXJjaXNlIDUuNS4yCgojIyMjIyBxdWVzdGlvbiAxCgpgYGB7cn0KIyBuZXcgcm93cyB3aXRoIGRlcF90aW1lLCBzY2hlZF9kZXBfdGltZSBhcmUgbW9yZSBjb252aWVudCwgbWludXRlcyBwYXN0IG1pZG5pZ2h0CgptdXRhdGUoZmxpZ2h0cywgZGVwYXJ0dXJlID0gZGVwX3RpbWUpCmBgYAoKCiMjIyMjIHF1ZXN0aW9uIDIKCmBgYHtyfQojQ29tcGFyZSBhaXJfdGltZSB3aXRoIGFycl90aW1lIC0gZGVwX3RpbWUuIFdoYXQgZG8geW91IGV4cGVjdCB0byBzZWU/IFdoYXQgZG8geW91IHNlZT8gV2hhdCBkbyB5b3UgbmVlZCB0byBkbyB0byBmaXggaXQ/Cgp0cmFuc211dGUoZmxpZ2h0cywgaW5fYWlyID0gYXJyX3RpbWUgLSBkZXBfdGltZSwgYWlyX3RpbWUgPSBhaXJfdGltZSkKYGBgCgoKSW4gYWlyIGlzIG11Y2ggbGFyZ2VyIHRoYW4gdGhlIGFjdHVhbCBhaXIgdGltZSwgdGhpcyBtaWdodCBiZSBiZWNhdXNlIGRlcCB0aW1lIGFuZCBhcnIgdGltZSBhcmUgbm90IGluIHVuaXRzIG9mIG1pbnV0ZXMsIGJ1dCBhaXJfdGltZSBpcy4gWW91IHdvdWxkIGhhdmUgdG8gY2hhbmdlIHRoZSB1bml0cyBvZiB0aGUgYXJyIHRpbWUgYW5kIGRlcCB0aW1lIHRvIG1pbnV0ZXMKCgojIyMjIyBxdWVzdGlvbiAzCgpgYGB7cn0KIyBDb21wYXJlIGRlcF90aW1lLCBzY2hlZF9kZXBfdGltZSwgYW5kIGRlcF9kZWxheS4gSG93IHdvdWxkIHlvdSBleHBlY3QgdGhvc2UgdGhyZWUgbnVtYmVycyB0byBiZSByZWxhdGVkPwoKdHJhbnNtdXRlKGZsaWdodHMsIGRlcF90aW1lID0gZGVwX3RpbWUsIHNjaGVkX2RlcF90aW1lID0gc2NoZWRfZGVwX3RpbWUsIGRlcF9kZWxheSA9IGRlcF9kZWxheSkKYGBgCgpUaGUgZGVwIGRlbGF5IHNob3VsZCBlcXVhbCB0aGUgZGlmZmVyZW5jZSBvZiBkZXAgdGltZSBhbmQgc2NoZWR1bGVkIGRlcCB0aW1lLgoKCiMjIyMjIHF1ZXN0aW9uIDQKCmBgYHtyfQoKI0ZpbmQgdGhlIDEwIG1vc3QgZGVsYXllZCBmbGlnaHRzIHVzaW5nIGEgcmFua2luZyBmdW5jdGlvbi4gSG93IGRvIHlvdSB3YW50IHRvIGhhbmRsZSB0aWVzPyBDYXJlZnVsbHkgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbWluX3JhbmsoKS4KCj9taW5fcmFuaygpCj90aWVzLm1ldGhvZAoKbXV0YXRlKGZsaWdodHMsIG1vc3RfZGVsYXllZCA9IGRlc2MobWluX3JhbmsoZGVwX2RlbGF5KSkpCmBgYAoKClB1dHMgZXZlcnkgdGllIHRvIHRoZSBsb3dlc3QgcmFuawoK